package com.sbtr.open.project.dto;

import com.sbtr.open.trainingtask.dto.TrainingInfoDto;
import com.sbtr.validate.Length;

import java.io.Serializable;
import java.util.Date;


/**
 * <p>
 * 图像识别项目表
 * </p>
 *

 */
public class ProjectDto implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	private Long id;

	/**
	 * 项目名称
	 */
	@Length(max = 50, message = "项目名称长度不能超过50")
	private String projectName;

	/**
	 * 项目描述
	 */
	@Length(max = 500, message = "项目描述长度不能超过500")
	private String projectDesc;

	/**
	 * 创建人
	 */
	private String creater;
	/**
	 * 修改人
	 */
	private String modifyer;

	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 项目类型
	 */
	private String projectType;

	/**
	 * 模型文件类型
	 */
	private String modelFileType;
	/**
	 * 项目进度
	 */
	private String progressRate;
	/**
	 * 运行状态 unpublish:停止, published:发布
	 */
	private String status;
	/**
	 * 是否有效 默认1有效
	 */
	private Boolean isAvailable;
	
	private Integer modelCount;
	/**
	 *  唯一id
	 */
	private String appId;
	/**
	 *  appkey
	 */
	private String appKey;
	/**
	 * 项目绑定的训练任务
	 */
	private TrainingInfoDto trainingTaskDto;

	/**
	 * 关联数据集名称
	 */
	private String materialSetName;
	/**
	 * 训练进度
	 */
//	private String modelTrainRate;
	/**
	 * 使用模型数组
	 */
	private String arithmetic;
	private String belonger;

	public String getBelonger() {
		return belonger;
	}

	public void setBelonger(String belonger) {
		this.belonger = belonger;
	}

	/**
	 * 素材id
	 */
	private Long fileId;

	private Integer diagnoseType;

	public Integer getDiagnoseType() {
		return diagnoseType;
	}

	public void setDiagnoseType(Integer diagnoseType) {
		this.diagnoseType = diagnoseType;
	}

	public Boolean getAvailable() {
		return isAvailable;
	}

	public void setAvailable(Boolean available) {
		isAvailable = available;
	}

	public Long getFileId() {
		return fileId;
	}

	public void setFileId(Long fileId) {
		this.fileId = fileId;
	}

	public String getMaterialSetName() {
		return materialSetName;
	}

	public void setMaterialSetName(String materialSetName) {
		this.materialSetName = materialSetName;
	}

//	public String getModelTrainRate() {
//		return modelTrainRate;
//	}
//
//	public void setModelTrainRate(String modelTrainRate) {
//		this.modelTrainRate = modelTrainRate;
//	}

	public String getArithmetic() {
		return arithmetic;
	}

	public void setArithmetic(String arithmetic) {
		this.arithmetic = arithmetic;
	}

	public Long getId() {
		return id;
	}

	public String getProjectType() {
		return projectType;
	}

	public void setProjectType(String projectType) {
		this.projectType = projectType;
	}

	public String getProgressRate() {
		return progressRate;
	}

	public void setProgressRate(String progressRate) {
		this.progressRate = progressRate;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public Boolean getIsAvailable() {
		return isAvailable;
	}

	public String getAppId() {
		return appId;
	}

	public void setAppId(String appId) {
		this.appId = appId;
	}

	public String getAppKey() {
		return appKey;
	}

	public void setAppKey(String appKey) {
		this.appKey = appKey;
	}

	public void setIsAvailable(Boolean isAvailable) {
		this.isAvailable = isAvailable;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	public String getProjectDesc() {
		return projectDesc;
	}

	public void setProjectDesc(String projectDesc) {
		this.projectDesc = projectDesc;
	}

	public String getCreater() {
		return creater;
	}

	public void setCreater(String creater) {
		this.creater = creater;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Integer getModelCount() {
		return modelCount;
	}

	public void setModelCount(Integer modelCount) {
		this.modelCount = modelCount;
	}

	public TrainingInfoDto getTrainingTaskDto() {
		return trainingTaskDto;
	}

	public void setTrainingTaskDto(TrainingInfoDto trainingTaskDto) {
		this.trainingTaskDto = trainingTaskDto;
	}

	public String getModifyer() {
		return modifyer;
	}

	public void setModifyer(String modifyer) {
		this.modifyer = modifyer;
	}

	public String getModelFileType() {
		return modelFileType;
	}

	public void setModelFileType(String modelFileType) {
		this.modelFileType = modelFileType;
	}
}
